package com.woniuxy.social.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 社区用户表
 * </p>
 *
 * @author John_Yeung
 * @since 2020-09-24
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("COMMUNITY")
@ApiModel(value="Community对象", description="社区用户表")
@KeySequence("SEQ_COMMUNITY")
@NoArgsConstructor
@AllArgsConstructor
public class Community implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "社区用户表主键id")
    @TableId(value = "COMMUNITY_ID" , type = IdType.INPUT)
    private Integer communityId;

    @ApiModelProperty(value = "社区用户表昵称")
    @TableField("COMMUNITY_NAME")
    private String communityName;

    @ApiModelProperty(value = "社区用户对应的用户id")
    @TableField("USER_ID")
    private Integer userId;

    @ApiModelProperty(value = "个性签名")
    @TableField("COMMUNITY_TAG")
    private String communityTag;

    @ApiModelProperty(value = "社区积分")
    @TableField("GOBAL")
    private Integer gobal;

    @ApiModelProperty(value = "上次签到时间")
    @TableField("LAST_REGISTER")
    private LocalDateTime lastRegister;

    @ApiModelProperty(value = "今日签到时间")
    @TableField("THIS_REGISTER")
    private LocalDateTime thisRegister;

    @ApiModelProperty(value = "连续签到天数")
    @TableField("REGISTER_DAY")
    private Integer registerDay;

    @ApiModelProperty(value = "最小值为0，最大值为100，在0-100区间内每日加1")
    @TableField("KIDNESS")
    private Integer kidness;

    @ApiModelProperty(value = "可发言状态，0为可发言，1为不可发言")
    @TableField("SPEAK_STATE")
    private Integer speakState;

    @ApiModelProperty(value = "每日发言次数，根据友善值决定：20以下0次，20-40为1次，40-60 为2次，60以上为128次")
    @TableField("SPEAK_TIME")
    private Integer speakTime;

    @ApiModelProperty(value = "每日获取积分次数：5次")
    @TableField("GET_GOBAL_TIME")
    private Integer getGobalTime;

    @ApiModelProperty(value = "生成时间")
    @TableField("CREATE_DATE")
    private LocalDateTime createDate;

    @ApiModelProperty(value = "软删除，0为未删除，1为已删除")
    @TableField("FLAG")
    private Integer flag;


}
